var grupo_id = null;

//$(function() {
//    $('a[data-toggle="tab"]').on('shown', function(e) {
//        var activetab = e.target; // activated tab
//        var bodyactivate = $(activetab).attr('href');
//        grupo_id = $(bodyactivate + ' > form > input').val();
//    });
//});

//Para la vista por grupos
function ExporCont(all) {
    var bodyactivate = $('#tabgrupos > ul > li.active > a').attr('href');
    grupo_id = $(bodyactivate + ' > form > input').val();

    if (all) {
        $('#formId').attr('action', baseUrl + "crm/contacto/exportExcel");
        $('#id_contac').val('todos');
        $('#id_grupo').val(grupo_id);
        $('#formId').submit();
    } else {
        var selected = $("#" + grupo_id + "_grid").selGridView("getAllSelection");
        if (selected != '') {
            $('#formId').attr('action', baseUrl + "crm/contacto/exportExcel");
            $('#id_contac').val(selected);
            $('#id_grupo').val(grupo_id);
            $('#formId').submit();
        } else {
            bootbox.alert("Seleccione al menos un Contacto.");
        }
    }
}

//Para la vista todos
function ExporCont2(all) {
    if (all) {
        $('#formId').attr('action', baseUrl + "crm/contacto/exportExcel");
        $('#id_contac').val('todos');
//        $('#id_grupo').val(grupo_id);
        $('#formId').submit();
    } else {
        var selected = $("#contacto-grid").selGridView("getAllSelection");
        if (selected != '') {
            $('#formId').attr('action', baseUrl + "crm/contacto/exportExcel");
            $('#id_contac').val(selected);
//            $('#id_grupo').val(grupo_id);
            $('#formId').submit();
        } else {
            bootbox.alert("Seleccione al menos un Contacto.");
        }
    }
}

function enviarSms(all) {
    if (all) {
        $.ajax({
            type: "POST",
            url: baseUrl + "sms/sms/cargarFormularioSms",
            dataType: 'json',
            data: {clientes: "todos"},
            beforeSend: function() {
                showModalLoading();
            },
            success: function(data) {
                if (data.success) {
                    showModalData(data.html);
                    if (data.successMessage)
                    {
                        $("div#messageSms").html('<button class="close" data-dismiss="alert">×</button><strong>Informaci&oacute;n:</strong> ' + data.successMessage);
                    }
                } else {
                    $("#mainModal").modal("hide");
                    bootbox.alert(data.error);
                }
            }
        });
    } else {
        // Recoje todos los id selecionados de gridview y se los pone al input que esta oculto
        var selected = $("#contacto-grid").selGridView("getAllSelection");

        if (selected != '') {
            $.ajax({
                type: "POST",
                url: baseUrl + "sms/sms/cargarFormularioSms",
                dataType: 'json',
                data: {clientes: selected},
                beforeSend: function() {
                    showModalLoading();
                },
                success: function(data) {
                    if (data.success) {
                        showModalData(data.html);
                    } else {
                        $("#mainModal").modal("hide");
                        bootbox.alert(data.error);
                    }
                }
            });
        } else {
            bootbox.alert("Seleccione al menos un cliente.");
        }
    }
}

function enviarSmsSolo(id) {
    $.ajax({
        type: "POST",
        url: baseUrl + "sms/sms/cargarFormularioSms",
        dataType: 'json',
        data: {clientes: id},
        beforeSend: function() {
            showModalLoading();
        },
        success: function(data) {
            if (data.success) {
                showModalData(data.html);
            } else {
                $("#mainModal").modal('hide');
                bootbox.alert(data.error);
            }
        }
    });
}
//mails

function enviarMail(all) {
    if (all) {
        $.ajax({
            type: "POST",
            url: baseUrl + "mail/mail/cargarFormularioMail",
            dataType: 'json',
            data: {clientes: "todos"},
            beforeSend: function() {
                showModalLoading();
            },
            success: function(data) {
                if (data.success) {
                    showModalData(data.html);
                } else {
                    $("#mainModal").modal("hide");
                    bootbox.alert(data.error);
                }
            }
        });
    } else {
        // Recoje todos los id selecionados de gridview y se los pone al input que esta oculto
        var selected = $("#contacto-grid").selGridView("getAllSelection");
        if (selected != '') {

            $.ajax({
                type: "POST",
                url: baseUrl + "mail/mail/cargarFormularioMail",
                dataType: 'json',
                data: {clientes: selected},
                beforeSend: function() {
                    showModalLoading();
                },
                success: function(data) {
                    if (data.success) {
                        showModalData(data.html);
                    } else {
                        $("#mainModal").modal("hide");
                        bootbox.alert(data.error);
                    }
                }
            });
        } else {
            bootbox.alert("Seleccione al menos un cliente.");
        }
    }
}

function enviarMailSolo(id, direccion) {
    $.ajax({
        type: "POST",
        url: baseUrl + "mail/mail/cargarFormularioMail",
        dataType: 'json',
        data: {clientes: id},
        beforeSend: function() {
            showModalLoading();
        },
        success: function(data) {
            if (data.success) {
                showModalData(data.html);
            } else {
                $("#mainModal").modal("hide");
                bootbox.alert(data.error);
            }
        }
    });
}
/*********************************************************************************************/
/*MANDRILL ENVIO MAILS*/
/*FUNCION QUE PERMINE ENVIAR MAILS CON SELECCIONAR DE MEDIOS DESDE BARRA DE MENU*/
function enviarMailContactos(all) {
    if (all) {
        $.ajax({
            type: "POST",
            url: baseUrl + "crm/contacto/ajaxCargarMedioEnvio",
            dataType: 'json',
            data: {id_cliente: "todos"},
            beforeSend: function() {
                showModalLoading();
            },
            success: function(data) {
                if (data.success) {
                    showModalData(data.html);
                } else {
                    $("#mainModal").modal("hide");
                    bootbox.alert(data.error);
                }
            }
        });
    } else {
        // Recoje todos los id selecionados de gridview y se los pone al input que esta oculto
        var selected = $("#contacto-grid").selGridView("getAllSelection");
        if (selected != '') {
            $.ajax({
                type: "POST",
                url: baseUrl + "crm/contacto/ajaxCargarMedioEnvio",
                dataType: 'json',
                data: {id_cliente: selected},
                beforeSend: function() {
                    showModalLoading();
                },
                success: function(data) {
                    if (data.success) {
                        showModalData(data.html);
                    } else {
                        $("#mainModal").modal("hide");
                        bootbox.alert(data.error);
                    }
                }
            });
        } else {
            bootbox.alert("Seleccione al menos un cliente.");
        }
    }
}

function enviarMailMandrillSolo(id, direccion) {
    $.ajax({
        type: "POST",
        url: baseUrl + "mandrillmail/mandrillmail/cargarFormularioMail",
        dataType: 'json',
        data: {clientes: id},
        beforeSend: function() {
            showModalLoading();
        },
        success: function(data) {
            if (data.success) {
                showModalData(data.html);
            } else {
                $("#mainModal").modal("hide");
                bootbox.alert(data.error);
            }
        }
    });
}
/*CArga modal para elegir el medio d eenvio para contactos*/
function medioEnviarMailSolo(id, direccion) {
    $.ajax({
        type: "POST",
        url: baseUrl + "crm/contacto/ajaxCargarMedioEnvio",
        dataType: 'json',
        data: {id_cliente: id},
        beforeSend: function() {
            showModalLoading();
        },
        success: function(data) {
            if (data.success) {
                showModalData(data.html);
//                loadActionSelect();
            } else {
                $("#mainModal").modal("hide");
                bootbox.alert(data.error);
            }
        }
    });
}/********************************funciones Ajax*******************************/

/********************************************************************/
function crearLlamadaEntrante() {
    id = $("#contacto-grid").selGridView("getAllSelection");

    if (id.length == 1) {
        $.ajax({
            type: "POST",
            url: baseUrl + "llamadas/llamada/cargarFormularioLlamadaEntrante",
            dataType: 'json',
            data: {cliente: id, redirec: 0},
            beforeSend: function() {
                showModalLoading();
            },
            success: function(data) {
                if (data.success) {
                    showModalData(data.html);
                } else {
                    bootbox.alert(data.error);
                }
            }
        });
    } else if (id.length == '') {
        bootbox.alert('Seleccione al menos un contacto.');
    } else {
        bootbox.alert('Selecciones solo un contacto.');
    }

}
function crearLlamadaSaliente(id) {
    if (id == '') {
        id = $("#contacto-grid").selGridView("getAllSelection");
    }

    if (!$.isArray(id) || id.length === 1)
    {
        $.ajax({
            type: "POST",
            url: baseUrl + "llamadas/llamada/ajaxCreateLlamadaSaliente",
            dataType: 'json',
            data: {cliente: id, redirec: 0},
            beforeSend: function() {
                showModalLoading();
            },
            success: function(data) {
                if (data.success) {
                    showModalData(data.html);
                } else {
                    $("#mainModal").modal("hide");
                    bootbox.alert(data.error);
                }
            }
        });
    }
    else if (id.length == '') {
        bootbox.alert('Seleccione al menos un contacto.');
    } else {
        bootbox.alert('Seleccione solo un contacto.');
    }
}


function ratingA() {//se usa en el AfterAjaxValidate

    $('div .star-rating').on('mouseover', function() {
        $('div .rating-cancel').hide();

    });
    $('div .star-rating').on('mouseleave', function() {
        $('div .rating-cancel').hide();
    });

    $('span .star-rating').on('click', function() {
        var str = $(this).attr('id');
        var res = str.split('_');
        rating(res[1]);
    });
}


function rating(id) {

    var cont = 0;
    $('#rating_' + id + ' div').each(function(index, elemento) {

        if ($(elemento).hasClass('star-rating-on'))
        {
            cont++;
            $(elemento).parent().removeClass('star-rating-on');//star-rating-hover
            $(elemento).parent().addClass('star-rating-hover');//star-rating-hover
        }
    });

    $.ajax({
        type: "POST",
        url: 'rating',
        data: {id: id, cont: cont}

    });
}


/**
 * 
 * @param {type} Formulario
 * guarda por ajax las aciones de mail, sms y llamada
 */
function AjaxCrearAccion(Formulario)
{
    var listas = new Array();
    listas[0] = 'contacto-grid';
    listas[1] = 'tarea-grid';
    BloquearBotonesModal(Formulario);
    ajaxValidarFormulario({
        formId: Formulario,
        successCall: function(data) {
            AjaxCrearAccionSP({
                formId: Formulario,
                beforeCall: function() {
                    //ocultar el modal
                    $("#mainModal").modal("hide");
                },
                successCall: function(data) {

                    $("#maiMessages").removeClass('hidden');
                    $("#maiMessages").html('<div class="alert alert-success">' +
                            '<i data-dismiss="alert" class="icon-remove close"></i>' +
                            data.messages.success.toString() +
                            '</div>');
                }
            });
        },
        errorCall: function(data) {
            DesBloquearBotonesModal(Formulario, 'Enviar', 'AjaxCrearAccion');
        }
    });
}
function actualizarInformacionAccion(Listas)
{
    for (var i = 0; i < Listas.length; i++)
    {
        $.fn.yiiGridView.update(Listas[i]);
    }
}

/**
 *@description envio de accion en segundo plano
 *@author Alex YÃ©pez <ayepez@tradesystem.com.ec>
 *@param {obj} options opciones de envÃ­o
 */
function AjaxCrearAccionSP(options) {
    $.ajax({
        type: 'POST',
        url: $(options.formId).attr('action'),
        data: $(options.formId).serialize(),
        dataType: 'json',
        beforeSend: function(xhr) {
            //Acciones a reaqlizar antes del envio
            if (options.beforeCall)
            {
                options.beforeCall();
            }
        },
        success: function(data) {
            //acciones a realizar cuando la respuesta es positiva 
            if (data.success) {
                if (options.successCall)
                {
                    options.successCall(data);
                }
            } else {
                //acciones a realizar cuando existen errores
                if (options.errorCall)
                {
                    options.errorCall(data);
                }
            }
        }
    });
}
